// import $http from '@/utils/http'
import axios from 'axios'

/**
 * 传入一个图书列表，列表中包含isbn，返回一个isbns字符串
 * @param {Array} array 图书列表
 * @param {Number} length 显示多少个
 * @returns {String}
 */
export function isbnList (array, length) {
  let isbn = ''
  if (array.length > length) {
    array = array.slice(0, length)
  }
  let num = 0
  array.forEach((item, index) => {
    if (item.isbn && num < length && item.isbn.indexOf('(') === -1) {
      isbn += item.isbn.replace(/-/g, '') + ','
      num += 1
    }
  })
  return isbn
}

/**
 * 处理获取的图书封面，返回以isbn为key的Map
 * @param {Array} e 数组
 * @returns {Object}
 */
export function isbnBookObj (e) {
  const obj = {}
  const data = JSON.parse(e.substring(11, e.length - 1))
  data.result.forEach(c => {
    obj[c.isbn] = c
  })
  return obj
}

/**
 * 将图书列表插入图书封面字段
 * @param {Array} list 图书列表
 * @returns {Array}
 */
export async function getBookCover (list) {
  const isbn = isbnList(list, list.length)
  const res = await axios.get(
    process.env.VUE_APP_BOOK_COVER + isbn + process.env.VUE_APP_BOOK_COVER_AFTER
  )
  if (res.data) {
    const coverObj = isbnBookObj(res.data)
    if (JSON.stringify(coverObj) !== '{}') {
      const arr = list.map(c => {
        const item = { ...c }
        item.imgUrl = coverObj[c.isbn.replace(/-/g, '')]
          ? coverObj[c.isbn.replace(/-/g, '')].resourceLink
          : null
        return item
      })
      return {
        list: arr,
        keybook: coverObj
      }
    } else {
      return {
        list: list,
        keybook: {}
      }
    }
  } else {
    return {
      list: list,
      keybook: {}
    }
  }
}
